System and method to remotely manage and audit set top box resources

ABSTRACT

A system and method for determining the resources available or used in a remote device is disclosed. The system can be used to determine whether the remote device is using expected resources as originally configured or to determine whether resources are available to support new or extended services. The method can be used to configure or reconfigure the remote device for its intended use or as reconfigure a remote device for new, different or extended purposes.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.10/029,173 filed Dec. 28, 2001 by Watson et al., entitled “SYSTEM ANDMETHOD TO REMOTELY MANAGE AND AUDIT SET TOP BOX RESOURCES”, which isincorporated herein by reference in its entirety.

BACKGROUND

1. Field of the Invention

The present invention relates generally to a content distributionsystem, and more particularly, to system and method to remotely manageand audit set top box (referred to as “STB”) resources.

2. Background of the Invention

Many dwellings including single homes, apartments, condominiums, townhouses and lofts, have installed a media distribution system to improvethe reception of audio and video content. Often, these distributionsystems take the form of either a cable television system or a satellitetelevision system. These systems receive a signal from a contentsupplier, such as a cable television company or a satellite televisioncompany. Generally, content suppliers offer a variety of servicesincluding different levels of subscriptions, pay channels and pay perview programs. Additionally, newer STBs, like Tivo, Replay TV andUltimate TV, include computing resources including processors, hard diskdrives, controllers, and operating systems.

Some customers, in an effort to access unauthorized channels orservices, attempt to modify their STBs. For example, there have beenproblems with users opening their STBs and installing larger diskdrives, and installing memory cards that provide the codes necessary toaccess unauthorized channels and services. Other forms of unauthorizeduse of STBs and the resources associated with STBs have also occurred.

SUMMARY OF THE INVENTION

The present invention is directed to an STB that includes a remoteresource manager (referred to as “RRM”). RRMs permit a service providerto monitor the resources that are associated with an STB and determineif all the resources associated with that STB are authorized. Theservice provider can initiate communications with an STB and, using theRRM, the service provider can essentially audit an STB and determine theavailable resources and/or configuration of the STB.

In one aspect, the service provider sends an interrogation signal to anRRM and the RRM responds to this interrogation signal by sendinginformation related to the resources that are associated with the STB.

In another aspect, the service provider sends a signal that instructs anRRM to collect information related to the resources that are associatedwith STB.

In another aspect, the invention is directed to a method that includesprovisions that permit the service provider to compare the configurationof the STB with an expected configuration and determine if the currentconfiguration is different from the expected configuration.

In another aspect, the invention allows the service provider to modifyan STB remotely by sending information to the remote resource manager.

In another aspect, the RRM can determine if a STB can support a newservice requested by the user based on the presently availableresources.

Additional features and advantages of the invention will be set forth inthe description which follows, and in part will be apparent from thedescription, or may be learned by practice of the invention. Theobjectives and advantages of the invention will be realized and attainedby the structure and steps particularly pointed out in the writtendescription, the claims and the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a preferred embodiment of a system inaccordance with the present invention.

FIG. 2 is a schematic diagram of a preferred embodiment of a set top boxin accordance with the present invention.

FIG. 3 is a flow diagram of a preferred embodiment of a method inaccordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is a schematic diagram 100, portions of which show a preferredembodiments of the present invention. A service provider 102, whichcould be a network operator, is connected to network 104. Network 104could be cable, terrestrial broadcast, satellite broadcast, or acombination of those forms. At least one STB 106 is connected to network104. Usually, more than one STB 106 is connected to Network 104.However, for purposes of clarity, this description focuses on a singleSTB 106, keeping in mind that many more STBs could be connected toNetwork 104.

In addition to being connected to network 104, STB 106 is alsopreferably connected to a television 108. Preferably, service provider102 distributes content through network 104 and STB 106 is adapted toreceive that content and deliver it to television 108. In someembodiments, a residential gateway 114.

Residential gateway (RG) 114 is generally a device for terminating anexternal connection and fanning it out to multiple devices within adwelling. In some embodiments, residential gateway 114 is a STB.Typically residential gateway 114 serves more than one purposes such asa DHCP server or as a NAT server for connections to the internet throughan ISP. Residential gateway 114 can include storage, and in some casesresidential gateway 114 is a managed device by the network provider.

In some cases, STB 106 includes a tuner that permits a user to accessdifferent programs or channels. In the preferred embodiment, STB 106 isconnected to a second network 112. Typically, second network 112 is atelecommunications network and in some embodiments, second network 112is a public switched telecommunications network (“PSTN”). Preferably,this second network 112 is capable of supporting Internet Protocol(“IP”) communications. Preferably, network 112 supports two waycommunications between service provider 102 and STB 106. In someembodiments, second network 112 is a “broadband” network, for example,DSL, cable modem, Ethernet, or some other network that supports highspeed communications. While the embodiment shown in FIG. 1 shows STB 106as a physically separate unit from associated television 108, it ispossible to integrate an STB with a television. In such integratedunits, the STB can be built into the television.

In some embodiments, STB 106 includes various resources that assist STB106 in providing services to users. Referring to an embodiment of STB106 shown in FIG. 2. STB 106 can include several components including afixed disk drive 202 that can be used to record content, and a secondfixed disk drive 204 that could be used to provide increased storagecapacity. A power supply 206 can be connected to a power source and tovarious components to provide power to those components. STB 106 canalso include a first port 218, also referred to as a network port,capable of communicating with first network 104 (see FIG. 1) and asecond port 220, also referred to as a communications port, capable ofcommunicating with second network 112 (see FIG. 1).

STB 106 can also include a motherboard 208 that supports various othercomponents. For example, in some embodiments, motherboard 208 caninclude a tuner 210 that can assist a user in selecting programs. Adecoder 212 could be provided to assist in converting images from adigital format to a format suitable for display on a television. In oneembodiment, decoder 212 is an MPEG-2 (Motion Picture Experts Group)decoder.

A remote resource manager (referred to as “RRM”) 214 could also beassociated with STB 106. In some embodiments, RRM 214 is attached tomotherboard 208, in other embodiments, RRM 214 is a separate componentthat is located within or on STB 106 and RRM 214 is in communicationwith motherboard 208, and in other embodiments, RRM 214 is locatedoutside STB 106 and is either attached or not attached to STB 106, andis in communication with motherboard 208. In some embodiments the RRM isa software program, application or algorithm that operates inside oroutside the STB 106.

RRM 214 is designed to determine resources that are associated with aparticular STB. In the embodiment shown in FIG. 2, RRM 214 is locatedwithin STB 106 and RRM 214 is designed to determine the resourcesassociated with STB 106. In some embodiments, RRM 214 is designed todetermine the resources that are associated with STB 106 atpredetermined times, in other embodiments, RRM 214 determines theassociated resources in response to a signal. Exactly when RRM 214determines the nature and quality of the resources associated with STB106 can be tailored to suit particular preferences and needs.

Some embodiments include an optional firewall 216. In some embodiments,firewall 216 is attached to motherboard 208. In other embodiments,firewall 216 is a separate component that is located within or on STB106 and is in communication with motherboard 208, and in otherembodiments, firewall 216 is located outside STB 106 and is eitherattached or not attached to STB 106, and is in communication withmotherboard 208.

Firewall 216 can be hardware, software or a combination of the two.Firewall 216 is designed to protect STB 106 from unauthorized access.Firewall 216 is in communication with communications port 218. In someembodiments, communications port 218 is a modular port, for example, anRJ-11 or an RJ-45. Since STB 106 is connected to a communicationsnetwork 112 (see FIG. 1) and because many different people have accessto communications network 112, STB 106 may be vulnerable to unauthorizedaccess or hacker attack.

To assist in preventing unauthorized access by third parties, firewall216 is disposed logically between communications network 112 and othercomponents of STB 106. In other words, firewall 216 receives informationfrom communications network 112 before other elements of STB 106 andinformation from communications network 112 is sent to other componentsof STB 106 after firewall 216 has reviewed, analyzed, and or processedthe information.

Firewall 216 can include filters, packet filtering, proxy service,and/or stateful inspection. Firewall 216 can process and/or analyze oneor more communications protocols. Some examples of communicationsprotocols that firewall 216 may be designed to process and/or analyzeare: IP (Internet Protocol), TCP (Transport Control Protocol), HTTP(Hyper Text Transfer Protocol), FTP (File Transfer Protocol), UDP (UserDatagram Protocol), ICMP (Internet Control Message Protocol), SMTP(Simple Mail Transport Protocol), SNMP (Simple Network ManagementProtocol), and/or Telnet.

FIG. 3 shows a flow diagram of a preferred embodiment of a method inaccordance with the present invention. In Step 302, communication isinitiated between service provider 102 and STB 106. Preferably thiscommunications occurs over second network 112. As noted above,communication can be initiated in many different ways.

In one embodiment, communication is initiated by STB 106 at predefinedintervals. For example, STB 106 initiates communications at a time whenit is likely that users are not operating 8TB. In some embodiments, 8TB106 initiates communications at 2:00 or 3:00 in the morning. 8TB 106initiates communications by sending a signal over second network 112 toservice provider 102. After receiving the signal, service provider 102and 8TB 106 begin communications.

In other embodiments, service provider 102 initiates communications bysending the signal, preferably over second network 112, to 8TB 106. 8TB106 responds to the signal from the service provider 102, and two-waycommunications between 8TB 106 and service provider 102 commences. Inthis embodiment, service provider 102 can initiate communications atpredetermined times or service provider 102 can initiate communicationsmanually by having technicians or operators associated with serviceprovider 102 initiating communications.

After communications has been initiated, service provider 102 retrievesdata from 8TB 106 in Step 304. Preferably, RRM 110 participates in thetransmission of data to service provider 102. In one embodiment, RRM 110receives a signal from service provider 102 and in response to thatsignal, RRM 110 retrieves data related to the various resourcesassociated with 8TB 106.

This data can include information related to the resources associatedwith STB 106. This information could include the number, nature, type,kind and/or quality of components connected to or associated with STB106 as well as the capabilities of those components. For example, in oneembodiment, 8TB 106 uses RRM 110 to send information to service provider102 regarding the number and size of all of the fixed disk drives thatare associated with 8TB 106. RRM 110 can send the informationautomatically or in response to a second signal or request from serviceprovider 102.

In Step 306, service provider 102 analyzes the data received from STB106. In some embodiments, service provider 102 has access to a databaseor other storage facility that contains information related to STB 106.The information contained in the database relates to the configurationthat service provider 102 expects of STB 106. For example, if the userof STB 106 has paid for a specific level of content and a specific sizeof an associated fixed disk drive 202, this information would berecorded in the database. For example, if user of STB 106 paid for basicsubscription content plus a 10 gigabyte fixed disk drive, thatinformation would be captured and recorded in the database.

Once the information related to the resources associated with STB 106 isreceived from STB 106, that information is compared with the informationin the database. All differences between the information received fromSTB 106 and information retrieved from the database are noted.

For example, if the user has installed another fixed disk drive 204, orhas changed the first fixed disk drive 202 to a different capacity fixeddisk drive, and none of these modifications were authorized by serviceprovider 102, service provider 102 can detect such unauthorizedmodifications in Step 306 where service provider 102 analyzes data fromSTB 106.

In step 308, data is sent from service provider 102 to STB 106. This isan optional step and need not be preformed. However, in some embodimentsdata could be sent to STB 106 that relates to programming content orinformation related to future programs. This can assist the user of STB106 in selecting future programming for viewing and/or recording.

In some cases, service provider 102 will send operating instructions toSTB 106. In those cases where service provider 102 sends operatinginstructions to STB 106, the service provider 102 has detected anunauthorized resource on STB 106 or service provider 102 would like tomodify the configuration of STB 106.

In step 308, service provider 102 can send information and operatinginstructions to STB 106 to reconfigure STB 106 in such a way that themodified STB 106 will again conform to the expected configuration inaccordance with the data retrieved from the database. Unauthorizedmodifications are generally rare, and therefore, these operatinginstructions are generally infrequently sent to STB 106.

In Step 310, STB 106 determines if an operating instruction has beensent from the service provider. If an operating instruction has beensent from the service provider 102, then STB 106 performs the operatinginstruction in Step 312. The operating instruction can includeinstructions that tell STB 106 to modify, disable, fail to address, orfail to use unauthorized resources. In addition, the operating commandcan also be used to allow or enable additional services, for example,permitting addressing of more HD space for extending record times orallowing extended EPG data, or allocate resources for new services, forexample, electronic magazine or games, and/or repartioning the fixeddisk drive for more or less space for PVR or other services.

Continuing with the example, if the expected resource is a 10-gigabytehard drive, and the user of STB 106 has installed a 20-gigabyte harddrive without authorization, STB 106 would receive an instruction toeither disable the 20-gigabyte hard drive or instruct STB 106 to onlyaccess 10-gigabytes of the new fixed disk drive.

In some cases, users purchase STBs with more resources than they haveinitially paid, and as they pay additional money to service provider102, service provider 102 enables those additional resources alreadyassociated with STB 106. In those cases where users have purchased anSTB with more capabilities than their subscription level, the operatinginstruction would instruct STB 106 to use existing resources that it waspreviously not authorize to use.

For example, a service provider 102 could sell all of their STBs withlarge hard drives for example, a 200 gigabyte hard drive, and onlypermit access to certain portions depending on the level of subscriptionpayment. As users pay additional money, they are permitted to accessgreater and greater portions of their fixed disk drives. An operatinginstruction from service provider 102 can permit STB 106 to accessadditional portions of the fixed disk drive.

The operating instructions could be used to instruct STB 106 to receiveor decode additional content. This feature could permit a serviceprovider 102 to increase or decrease the level of content or the amountof content that STB 106 is authorized to receive. The operatinginstructions could also include information related to decrypting keys.By sending certain decrypting keys to STB 106, service provider 102 cancontrol which programs STB 106 can successfully decode and consequentlywhich programs the user of STB 106 can view.

In addition, the operating instructions can be used to determine ifadditional resources are available, for example, if additional fixeddisk resources are available or if the correct processor to support MPEG4 and/or MPEG 7 decoding in hardware or software is present. Theoperating instruction could also be used to diagnose software orhardware on an interactive basis with a technician from a remotelocation.

After the operating instructions have been performed in Step 312, anoptional confirmation Step 314 can be performed. In this optionalconfirmation step, service provider 102 can retrieve information fromSTB 106 after STB 106 has been instructed to perform the operatinginstruction. In the confirm modification Step 314, service provider 102can interrogate STB 106 after the operating instruction has been sentand retrieve information a second time and retrieve the informationrelated to the new configuration, or the resources associated with STB106. This information could be compared with an expected configuration,thus permitting service provider 102 to determine if the operatinginstruction was successfully executed by STB 106.

In this way, service provider 102 can confirm whether the modificationhas been made or not. If the modification was not made, service provider102 can retransmit the operating instructions to STB 106 or take othercorrective action. If the modification has been successful and anappropriate response has been received from STB 106, the process movesto Step 316 where the system waits for the next communications with theSTB to occur.

After communications are initiated at the next appropriate interval, theprocess then moves to Step 302. Using this preferred method, serviceprovider 102 can determined the amount of resources associated with anSTB 106, compare those resources with expected resources, and take anynecessary corrective action.

The foregoing disclosure of the preferred embodiments of the presentinvention has been presented for purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise forms disclosed. Many variations andmodifications of the embodiments described herein will be obvious to oneof ordinary skill in the art in light of the above disclosure. The scopeof the invention is to be defined only by the claims appended hereto,and by their equivalents.

Further, in describing representative embodiments of the presentinvention, the specification may have presented the method and/orprocess of the present invention as a particular sequence of steps.However, to the extent that the method or process does not rely on theparticular order of steps set forth herein, the method or process shouldnot be limited to the particular sequence of steps described. As one ofordinary skill in the art would appreciate, other sequences of steps maybe possible. Therefore, the particular order of the steps set forth inthe specification should not be construed as limitations on the claims.In addition, the claims directed to the method and! or process of thepresent invention should not be limited to the performance of theirsteps in the order written, and one skilled in the art can readilyappreciate that the sequences may be varied and still remain within thespirit and scope of the present invention.

1. A method for communicating with a remote set top box (STB) thatprovides a service to end users comprising: receiving at a locationremote from the STB a first item of information related to parametersettings associated with the STB, the parameter settings affecting theprovisioning of the service; retrieving a second item of informationfrom a database remote from the STB; and comparing at the locationremote from the STB the first item of information with the second itemof information, the second item of information being related toparameter settings expected to be associated with the STB.
 2. The methodof claim 1, wherein based on a result of the comparing, the methodcommunicates to the STB from the location remote from the STB aninstruction to change at least one of the parameter settings affectingthe provisioning of the service.
 3. The method of claim 2, wherein theinstruction submitted to the STB provides for at least one of enabling aresource of the STB related to the first item of information, disablinga resource of the STB related to the first item of information,including authorization keys related to the first item of information,and causing the STB to diagnose a problem of the STB related to thefirst item of information.
 4. The method according to claim 1, whereinthe second item of information is received by the location remote fromthe STB from a database.
 5. The method according to claim 1, wherein thefirst item of information includes information related to a fixed discdrive.
 6. The method of claim 1, wherein the STB is integrated into atelevision.
 7. The method of claim 1, wherein the service comprisesaudio and video content playback.
 8. A computer readable non-transitorymedium having encoded instructions that causes at least one computer to:receive a first item of information from a set top box (STB) thatprovides a service, wherein the first item of information relates toparameter settings that affect the provisioning of the service and thatare associated with the STB; retrieve a second item of information froma database remote from the STB, wherein the second item of informationrelates to an expected configuration of the STB; and compare the firstitem of information with the second item of information.
 9. The computerreadable medium according to claim 8, wherein the encoded instructionsfurther cause sending an STB instruction to the STB wherein theinstruction is adapted to change at least one of the parameter settingsaffecting the provisioning of the service.
 10. The computer readablemedium according to claim 9, wherein the STB instruction provides for atleast one of enabling a resource of the STB related to the first item ofinformation, disabling a resource of the STB related to the first itemof information, including authorization keys related to the first itemof information, and causing the STB to diagnose a problem of the STBrelated to the first item of information.
 11. The computer readablemedium according to claim 9, wherein the STB instruction provides forenabling a resource of the STB related to the first item of information.12. The computer readable medium according to claim 9, wherein the STBinstruction provides for at least disabling a resource of the STBrelated to the first item of information.
 13. The computer readablemedium according to claim 9, wherein the STB instruction provides for atleast disabling a resource of the STB related to the first item ofinformation, including authorization keys related to the first item ofinformation.
 14. The computer readable medium according to claim 9,wherein the STB instruction causes the STB to diagnose a problem of theSTB related to the first item of information.
 15. The computer readablemedium according to claim 8, wherein the encoded instructions furthercause the STB instructions to be sent to a remote resource manager ofthe STB and wherein the encoded instructions further cause the remoteresource manager to detect the resources and send the first item ofinformation.
 16. The computer readable medium of claim 8, wherein theencoded instructions further cause the STB to receive user input thatrequests a new service, and determine by the remote resource managerwhether the STB has the resources to support the new service.
 17. Thecomputer readable medium of claim 8, wherein the STB is integrated intoa television.
 18. The computer readable medium of claim 8, wherein theSTB instructions provide for at least one of enabling a resource of theSTB related to the first item of information, disabling a resource ofthe STB related to the first item of information, includingauthorization keys related to the first item of information, and causingthe STB to diagnose a problem of the STB related to the first item ofinformation.
 19. The computer readable medium of claim 8, wherein theservice comprises audio and video content playback.
 20. A method forcommunicating with a remote set top box (STB) that provides a service toend users comprising: receiving at a location remote from the STB afirst item of information related to parameter settings associated withthe STB, the parameter settings affecting the provisioning of theservice which comprises audio and video content playback; retrieving asecond item of information from a database remote from the STB;comparing at the location remote from the STB the first item ofinformation with the second item of information, the second item ofinformation being related to parameter settings expected to beassociated with the STB; and based on a result of the comparing,communicating to the STB from the location remote from the STB aninstruction to change at least one of the parameter settings affectingthe provisioning of the service.